#include <iostream>
#include <cstring>
using namespace std;

/*
	析构函数的用途
*/

class Cat
{
public:
	//定义猫类的构造函数
	Cat()
	{
		name=new char[10];
		cout<<"猫的构造函数，当前对象是: "<<this<<endl;
	}
	//定义猫类的析构
	~Cat()
	{
		delete []name;
		cout<<"猫的析构函数，当前对象是: "<<this<<endl;
	}
private:
	char *name; //野指针
};

int main(int argc,char **argv)
{
	//创建三个猫对象
	//栈空间--》主函数结束的时候，自动释放c1 c2 c3的地址空间--》析构就随之调用
	//Cat c1,c2,c3;
	
	//堆空间
	Cat *c4=new Cat;
	
	delete c4;
	return 0;	
}